Loader.ioで負荷テストをしてみる
こんにちは、CX事業本部の夏目です。
今回は負荷試験を行うことができるSaaS Loader.ioを使ってみようと思います。
Loader.io
メール送信サービスのSendGridが提供している負荷テストを行えるSaaS。
いくつか制限はありますが、無料でもある程度使うことができます。
使ってみる
アカウント作成
Plans & Pricing
の画面から Free
の下の Sign Up Now
をクリックします。
よくあるSignUp画面です。
メールアドレスやパスワード等を入力 & reCAPTCHAをやってからSign up
をクリックします。
アカウントが作成され、負荷テストの対象のホストを登録する画面になります。
ただ、メールアドレスのverifyをしろと赤字で警告されているのでやっておきましょう。
(notify@loader.io
から Just one more thing - please verify your account
という件名でメールが来ていると思うので、開いてVerify me
と書かれたリンクをクリックしてください)
ホストの登録
負荷テストを行いたいホストの登録をします。
New Host
をクリックします。
Domainに負荷試験をしたいホストのドメインを入力します。
(http://
とかhttps://
とかはいらないし、パスもいらない)
入力したら Next Verify
をクリックします。
ホストのVerifyを行います。
有料プランだとDNSでのVerifyができるのですが、無料プランではできないのでHTTPでVerifyします。
Verifyの方法は、①に表示されているトークンを、②のHTTPアクセスで返すようにすることです。
②には3つのURLがありますが、そのいずれか一つで返せばよいです。
返すように設定したら、Verifyをクリックします。
Verifyできれば、登録が完了するので次に負荷テストを作成していきます。
(New Test
をクリックしてもいいし、左上のTests
のページに移動してから New Test
をクリックしてもよいです)
テストする
Testsのページの New Test
をクリックします。
負荷テストの設定をしていきます。
主に設定するのは次の項目
- Test Settings
Name
: テストの名前Test type
: 負荷テストのクライアントの増え方 (後ほどで詳しく説明する)Clients
&Duration
: クライアントの数とテストの期間Advanced Settings
: 許容するエラーレートの上限、タイムアウト、Basic認証の設定をします
- Client Requests
Method
: HTTPのメソッドProtocol
:HTTP
かHTTPS
かHost
: 負荷テストの対象となるホスト。登録したものから選択Path
: リクエスト対象のパスHeaders
&Parameters & Body
&Response variables
: 追加設定。今回ここは使用してないから実はよくわからないAdd Request
: HTTPのリクエスト対象を増やすことができる。無料プランだと合計2つまで。
これらを設定して負荷テストを行います。
また下のボタンの挙動はこうなります。
Back
: 前の画面(テスト一覧)に戻る。設定はいなくなる。Run test
: 負荷テスト実施Save for later
: 設定を保存するSchedule this test
: このテストを実施するスケジュールを作成する
(実際のところ私は Run test
しかしたことありませんが)
Run test
するとテストが実行されます。
(これは個人的にCloudFrontでホスティングしているファイルに1万クライアントから1分間負荷テストした結果)
Test type
先程説明を省略した Test type
ですが、3種類あります。
- Clients per test
- Clients per second
- Maintain client load
それぞれ説明していきます。
Clients per test
設定値 (この画像における値)
- Clients (2000
)
- Duration (20sec
)
この設定では、毎秒 Clients/Duration
の数のクライアントでテストを行います。
(この設定値では 100/20 = 5
クライアントが毎秒リクエストを行います)
Clients per second
設定値 (この画像における値)
- Clients (5
)
- Duration (20sec
)
この設定では毎秒 Clients
に設定したクライアント数でテストを行います。
Maintain client load
設定値 (この画像における値)
- Clients from (0
)
- Clients to (50
)
- Duration (20sec
)
この設定ではfrom
に指定したクライアント数からto
に指定したクライアント数までクライアント数が増えていきます。
(増え方はDurationに設定した値で頭割り。この画像では (50 - 0)/20 = 2.5
ということで、初回だけ2つ、それ以降は3つずつクライアントが増えている)
またこれまでと異なり一度追加されたクライアントは最後まで残ります。
まとめ
以上 Loader.ioを使用した負荷テストの方法でした。
無料プランでも1万クライアントまでは使用できるので非常に便利だと思います。